The present invention relates generally to data processing and, more particularly, to a decision making layer and associated server-client negotiations to determine use of one or more of multiple versions of a messaging application.
Computer messaging applications are typically updated with new versions. Each new version usually has improved functionality so that it is able to perform functions not available before or to perform previously available functions, but with different options. The addition of this new functionality to a new version can sometimes degrade the performance and the memory requirements of other functionality when compared to a previous version.
Applications are usually designed to work with one allocated version of a messaging application at a time and will often not work with versions of a messaging application other than the one that they have been allocated to work with at a time. The version allocated can be changed, but the application can only work with one allocated version of a messaging application at a time.
This situation has the disadvantage that the application is sometimes unable to use functionality added in a new release of the messaging application, or if it is able to use the functionality, then a degraded performance or greater memory requirements may have to be accepted.
Web Services Policy Framework (WS-Policy) found at http://www.w3.org/TR/ws-policy/ is a specification that allows web services to have a set of rules to advertise their policies (on security, quality of service and the like) and allows web service consumers to specify their policy requirements. Authors of web service consumers review the policies advertised by the web services to determine whether or not the policies can be adhered to. For example, a web service consumer cannot access a web service that has a policy that requires all messages to be encrypted or signed in a certain way, unless that web service consumer does encrypt or sign messages in that certain way. Similarly, a web service having a policy requiring a timestamp could not be accessed by a web service consumer which sends a message that does not have a timestamp. WS-Policy does not maintain any list of web services or any information about how to choose one of a number of web services based on characteristics of the task to be performed.
Open Grid Services Infrastructure (OSGI) is a specification that discloses a framework in which services exporting the same interface can exist at different versions. These services can be imported dynamically at runtime, the importer of the services selecting the most appropriate of the different versions, typically the most recent version. OSGI does not disclose dynamically selecting the most appropriate of the different versions based on the usage to be made of the service.